NHibernate terminology can be a bit cryptic for new users. The NHibernate designer tries to use terminology which is more explicit and easy to understand, at the expense of being different from the underlying NHibernate keywords. This page describes how some NHibernate concepts are surfaced in the designer. If you find yourself asking the NHibernate community for help and you’re using a designer-generated model, be sure to use the NHibernate terminology!

NHibernate term Designer equivalent
access Only the default, field and nosetter options are supported (for ‘nosetter’ choose PropertyGetFieldSet). The designer uses the camelcase-underscore naming strategy.
component To map multiple columns to a single (record-type) property, use a value object. (The designer doesn’t support component collections.)
dynamic-insert To set dynamic-insert=’true’ for an entity, set SaveOptions to include InsertNotNullColumnsOnly.
dynamic-update To set dynamic-update=’true’ for an entity, set SaveOptions to include UpdateChangedColumnsOnly.
inverse To set inverse=’true’ on the many-to-one side of an association, set Is Dependent to True on the association arrow.
IUserType To use an IUserType mapping, create a User Mapped Type (via the NHibernate Model Explorer) and set its Mapping Type to the IUserType.
lazy (class) The designer generates entities as lazy by default. To turn this off, set LoadOptions to include LazyFetchDisabled.
lazy (association) The designer generates associations as lazy by default. To eager load an association, set Eager Load on the arrow for the direction(s) you want to eager-load.